home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / DrawSprocket.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  11.0 KB  |  293 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        DrawSprocket.p
  3.  
  4.      Contains:    Games Sprockets: DrawSprocket interfaces
  5.  
  6.      Version:    Technology:    Draw Sprocket 1.1.2
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1996-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT DrawSprocket;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __DRAWSPROCKET__}
  28. {$SETC __DRAWSPROCKET__ := 1}
  29.  
  30. {$I+}
  31. {$SETC DrawSprocketIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __EVENTS__}
  38. {$I Events.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QUICKDRAW__}
  41. {$I Quickdraw.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __QDOFFSCREEN__}
  44. {$I QDOffscreen.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __DISPLAYS__}
  47. {$I Displays.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN POWER}
  53. {$LibExport+}
  54.  
  55. {$IFC TARGET_RT_MAC_CFM }
  56. {
  57. ********************************************************************************
  58. ** error/warning codes
  59. ********************************************************************************
  60. }
  61.  
  62. CONST
  63.     kDSpNotInitializedErr        = -30440;
  64.     kDSpSystemSWTooOldErr        = -30441;
  65.     kDSpInvalidContextErr        = -30442;
  66.     kDSpInvalidAttributesErr    = -30443;
  67.     kDSpContextAlreadyReservedErr = -30444;
  68.     kDSpContextNotReservedErr    = -30445;
  69.     kDSpContextNotFoundErr        = -30446;
  70.     kDSpFrameRateNotReadyErr    = -30447;
  71.     kDSpConfirmSwitchWarning    = -30448;
  72.     kDSpInternalErr                = -30449;
  73.     kDSpStereoContextErr        = -30450;
  74.  
  75. {
  76. ********************************************************************************
  77. ** constants
  78. ********************************************************************************
  79. }
  80.  
  81. TYPE
  82.     DSpDepthMask                 = LONGINT;
  83. CONST
  84.     kDSpDepthMask_1                = {DSpDepthMask}$01;
  85.     kDSpDepthMask_2                = {DSpDepthMask}$02;
  86.     kDSpDepthMask_4                = {DSpDepthMask}$04;
  87.     kDSpDepthMask_8                = {DSpDepthMask}$08;
  88.     kDSpDepthMask_16            = {DSpDepthMask}$10;
  89.     kDSpDepthMask_32            = {DSpDepthMask}$20;
  90.     kDSpDepthMask_All            = {DSpDepthMask}-1;
  91.  
  92.  
  93. TYPE
  94.     DSpColorNeeds                 = LONGINT;
  95. CONST
  96.     kDSpColorNeeds_DontCare        = {DSpColorNeeds}0;
  97.     kDSpColorNeeds_Request        = {DSpColorNeeds}1;
  98.     kDSpColorNeeds_Require        = {DSpColorNeeds}2;
  99.  
  100.  
  101. TYPE
  102.     DSpContextState             = LONGINT;
  103. CONST
  104.     kDSpContextState_Active        = {DSpContextState}0;
  105.     kDSpContextState_Paused        = {DSpContextState}1;
  106.     kDSpContextState_Inactive    = {DSpContextState}2;
  107.  
  108. { kDSpContextOption_QD3DAccel not yet implemented }
  109.  
  110. TYPE
  111.     DSpContextOption             = LONGINT;
  112. CONST
  113.                                                                 {     kDSpContextOption_QD3DAccel        = 1<<0, }
  114.     kDSpContextOption_PageFlip    = {DSpContextOption}$02;
  115.     kDSpContextOption_DontSyncVBL = {DSpContextOption}$04;
  116.     kDSpContextOption_Stereoscopic = {DSpContextOption}$08;
  117.  
  118.  
  119. TYPE
  120.     DSpAltBufferOption             = LONGINT;
  121. CONST
  122.     kDSpAltBufferOption_RowBytesEqualsWidth = {DSpAltBufferOption}$01;
  123.  
  124.  
  125. TYPE
  126.     DSpBufferKind                 = LONGINT;
  127. CONST
  128.     kDSpBufferKind_Normal        = {DSpBufferKind}0;
  129.     kDSpBufferKind_LeftEye        = {DSpBufferKind}0;
  130.     kDSpBufferKind_RightEye        = {DSpBufferKind}1;
  131.  
  132.  
  133. TYPE
  134.     DSpBlitMode                 = LONGINT;
  135. CONST
  136.     kDSpBlitMode_SrcKey            = {DSpBlitMode}$01;
  137.     kDSpBlitMode_DstKey            = {DSpBlitMode}$02;
  138.     kDSpBlitMode_Interpolation    = {DSpBlitMode}$04;
  139.  
  140. {
  141. ********************************************************************************
  142. ** data types
  143. ********************************************************************************
  144. }
  145.  
  146. TYPE
  147.     DSpAltBufferReference = ^LONGINT;
  148.     DSpContextReference = ^LONGINT;
  149. {$IFC TYPED_FUNCTION_POINTERS}
  150.     DSpEventProcPtr = FUNCTION(VAR inEvent: EventRecord): BOOLEAN; C;
  151. {$ELSEC}
  152.     DSpEventProcPtr = ProcPtr;
  153. {$ENDC}
  154.  
  155. {$IFC TYPED_FUNCTION_POINTERS}
  156.     DSpCallbackProcPtr = FUNCTION(inContext: DSpContextReference; inRefCon: UNIV Ptr): BOOLEAN; C;
  157. {$ELSEC}
  158.     DSpCallbackProcPtr = ProcPtr;
  159. {$ENDC}
  160.  
  161.     DSpContextAttributesPtr = ^DSpContextAttributes;
  162.     DSpContextAttributes = RECORD
  163.         frequency:                Fixed;
  164.         displayWidth:            UInt32;
  165.         displayHeight:            UInt32;
  166.         reserved1:                UInt32;
  167.         reserved2:                UInt32;
  168.         colorNeeds:                UInt32;
  169.         colorTable:                CTabHandle;
  170.         contextOptions:            OptionBits;
  171.         backBufferDepthMask:    OptionBits;
  172.         displayDepthMask:        OptionBits;
  173.         backBufferBestDepth:    UInt32;
  174.         displayBestDepth:        UInt32;
  175.         pageCount:                UInt32;
  176.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  177.         gameMustConfirmSwitch:    BOOLEAN;
  178.         reserved3:                ARRAY [0..3] OF UInt32;
  179.     END;
  180.  
  181.     DSpAltBufferAttributesPtr = ^DSpAltBufferAttributes;
  182.     DSpAltBufferAttributes = RECORD
  183.         width:                    UInt32;
  184.         height:                    UInt32;
  185.         options:                DSpAltBufferOption;
  186.         reserved:                ARRAY [0..3] OF UInt32;
  187.     END;
  188.  
  189.     DSpBlitInfoPtr = ^DSpBlitInfo;
  190. {$IFC TYPED_FUNCTION_POINTERS}
  191.     DSpBlitDoneProc = PROCEDURE(VAR info: DSpBlitInfo); C;
  192. {$ELSEC}
  193.     DSpBlitDoneProc = ProcPtr;
  194. {$ENDC}
  195.  
  196.     DSpBlitInfo = RECORD
  197.         completionFlag:            BOOLEAN;
  198.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  199.         completionProc:            DSpBlitDoneProc;
  200.         srcContext:                DSpContextReference;
  201.         srcBuffer:                CGrafPtr;
  202.         srcRect:                Rect;
  203.         srcKey:                    UInt32;
  204.         dstContext:                DSpContextReference;
  205.         dstBuffer:                CGrafPtr;
  206.         dstRect:                Rect;
  207.         dstKey:                    UInt32;
  208.         mode:                    DSpBlitMode;
  209.         reserved:                ARRAY [0..3] OF UInt32;
  210.     END;
  211.  
  212. {
  213. ********************************************************************************
  214. ** function prototypes
  215. ********************************************************************************
  216. }
  217. {
  218. ** global operations
  219. }
  220. FUNCTION DSpStartup: OSStatus; C;
  221. FUNCTION DSpShutdown: OSStatus; C;
  222. FUNCTION DSpGetFirstContext(inDisplayID: DisplayIDType; VAR outContext: DSpContextReference): OSStatus; C;
  223. FUNCTION DSpGetNextContext(inCurrentContext: DSpContextReference; VAR outContext: DSpContextReference): OSStatus; C;
  224. FUNCTION DSpFindBestContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outContext: DSpContextReference): OSStatus; C;
  225. FUNCTION DSpCanUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outUserCanSelectContext: BOOLEAN): OSStatus; C;
  226. FUNCTION DSpUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; inDialogDisplayLocation: DisplayIDType; inEventProc: DSpEventProcPtr; VAR outContext: DSpContextReference): OSStatus; C;
  227. FUNCTION DSpProcessEvent(VAR inEvent: EventRecord; VAR outEventWasProcessed: BOOLEAN): OSStatus; C;
  228. FUNCTION DSpSetBlankingColor({CONST}VAR inRGBColor: RGBColor): OSStatus; C;
  229. FUNCTION DSpSetDebugMode(inDebugMode: BOOLEAN): OSStatus; C;
  230. FUNCTION DSpFindContextFromPoint(inGlobalPoint: Point; VAR outContext: DSpContextReference): OSStatus; C;
  231. FUNCTION DSpGetMouse(VAR outGlobalPoint: Point): OSStatus; C;
  232. {
  233. ** alternate buffer operations
  234. }
  235. FUNCTION DSpAltBuffer_New(inContext: DSpContextReference; inVRAMBuffer: BOOLEAN; VAR inAttributes: DSpAltBufferAttributes; VAR outAltBuffer: DSpAltBufferReference): OSStatus; C;
  236. FUNCTION DSpAltBuffer_Dispose(inAltBuffer: DSpAltBufferReference): OSStatus; C;
  237. FUNCTION DSpAltBuffer_InvalRect(inAltBuffer: DSpAltBufferReference; {CONST}VAR inInvalidRect: Rect): OSStatus; C;
  238. FUNCTION DSpAltBuffer_GetCGrafPtr(inAltBuffer: DSpAltBufferReference; inBufferKind: DSpBufferKind; VAR outCGrafPtr: CGrafPtr; VAR outGDevice: GDHandle): OSStatus; C;
  239. {
  240. ** context operations
  241. }
  242. { general }
  243. FUNCTION DSpContext_GetAttributes(inContext: DSpContextReference; outAttributes: DSpContextAttributesPtr): OSStatus; C;
  244. FUNCTION DSpContext_Reserve(inContext: DSpContextReference; inDesiredAttributes: DSpContextAttributesPtr): OSStatus; C;
  245. FUNCTION DSpContext_Release(inContext: DSpContextReference): OSStatus; C;
  246. FUNCTION DSpContext_GetDisplayID(inContext: DSpContextReference; VAR outDisplayID: DisplayIDType): OSStatus; C;
  247. FUNCTION DSpContext_GlobalToLocal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  248. FUNCTION DSpContext_LocalToGlobal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  249. FUNCTION DSpContext_SetVBLProc(inContext: DSpContextReference; inProcPtr: DSpCallbackProcPtr; inRefCon: UNIV Ptr): OSStatus; C;
  250. FUNCTION DSpContext_GetFlattenedSize(inContext: DSpContextReference; VAR outFlatContextSize: UInt32): OSStatus; C;
  251. FUNCTION DSpContext_Flatten(inContext: DSpContextReference; outFlatContext: UNIV Ptr): OSStatus; C;
  252. FUNCTION DSpContext_Restore(inFlatContext: UNIV Ptr; VAR outRestoredContext: DSpContextReference): OSStatus; C;
  253. FUNCTION DSpContext_GetMonitorFrequency(inContext: DSpContextReference; VAR outFrequency: Fixed): OSStatus; C;
  254. FUNCTION DSpContext_SetMaxFrameRate(inContext: DSpContextReference; inMaxFPS: UInt32): OSStatus; C;
  255. FUNCTION DSpContext_GetMaxFrameRate(inContext: DSpContextReference; VAR outMaxFPS: UInt32): OSStatus; C;
  256. FUNCTION DSpContext_SetState(inContext: DSpContextReference; inState: DSpContextState): OSStatus; C;
  257. FUNCTION DSpContext_GetState(inContext: DSpContextReference; VAR outState: DSpContextState): OSStatus; C;
  258. FUNCTION DSpContext_IsBusy(inContext: DSpContextReference; VAR outBusyFlag: BOOLEAN): OSStatus; C;
  259. { dirty rectangles }
  260. FUNCTION DSpContext_SetDirtyRectGridSize(inContext: DSpContextReference; inCellPixelWidth: UInt32; inCellPixelHeight: UInt32): OSStatus; C;
  261. FUNCTION DSpContext_GetDirtyRectGridSize(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  262. FUNCTION DSpContext_GetDirtyRectGridUnits(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  263. FUNCTION DSpContext_InvalBackBufferRect(inContext: DSpContextReference; {CONST}VAR inRect: Rect): OSStatus; C;
  264. { underlays }
  265. FUNCTION DSpContext_SetUnderlayAltBuffer(inContext: DSpContextReference; inNewUnderlay: DSpAltBufferReference): OSStatus; C;
  266. FUNCTION DSpContext_GetUnderlayAltBuffer(inContext: DSpContextReference; VAR outUnderlay: DSpAltBufferReference): OSStatus; C;
  267. { gamma }
  268. FUNCTION DSpContext_FadeGammaOut(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  269. FUNCTION DSpContext_FadeGammaIn(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  270. FUNCTION DSpContext_FadeGamma(inContext: DSpContextReference; inPercentOfOriginalIntensity: SInt32; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  271. { buffering }
  272. FUNCTION DSpContext_SwapBuffers(inContext: DSpContextReference; inBusyProc: DSpCallbackProcPtr; inUserRefCon: UNIV Ptr): OSStatus; C;
  273. FUNCTION DSpContext_GetBackBuffer(inContext: DSpContextReference; inBufferKind: DSpBufferKind; VAR outBackBuffer: CGrafPtr): OSStatus; C;
  274. FUNCTION DSpContext_GetFrontBuffer(inContext: DSpContextReference; VAR outFrontBuffer: CGrafPtr): OSStatus; C;
  275. { clut operations }
  276. FUNCTION DSpContext_SetCLUTEntries(inContext: DSpContextReference; {CONST}VAR inEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  277. FUNCTION DSpContext_GetCLUTEntries(inContext: DSpContextReference; VAR outEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  278. { blit operations }
  279. FUNCTION DSpBlit_Faster(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  280. FUNCTION DSpBlit_Fastest(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  281. {$ENDC}  {TARGET_RT_MAC_CFM}
  282.  
  283. {$ALIGN RESET}
  284. {$POP}
  285.  
  286. {$SETC UsingIncludes := DrawSprocketIncludes}
  287.  
  288. {$ENDC} {__DRAWSPROCKET__}
  289.  
  290. {$IFC NOT UsingIncludes}
  291.  END.
  292. {$ENDC}
  293.